
/*#######################################################################################################################################################*/
/*################################################### OPERACIONES DE ALBARÁN ############################################################################*/
/*#######################################################################################################################################################*/


// Muentra el formulario "form" (ALBARÁN ENTREGA)
function print_form(){

	$.get("albaranEntrega/backend.php?action=form", function(data){
		$("#formulario").html(data);
		$("#formulario").css("display","");
	});
	
}


// Comportamiento del botón "guardar" dependiendo del modo en el que se encuentra (insertar o modificar)
function opcionesAceptar(accion){
	
	if(accion == "insertar")
	{
		// Numero de lineas insetadas tando de lotes como de lineas normales de producto
		var nLineasLote = document.getElementById("listadoLotesAlbaran").getElementsByTagName("tr").length;
		var nLineasProducto = document.getElementById("tabla_lineas_formulario").getElementsByTagName("tr").length;
		
		// Si el albarán no contiene líneas de producto ni lotes, informa de que el albarán será borrado
		if(nLineasLote == 0 && nLineasProducto == 1 && document.getElementById("expedicion").value != 0 && document.getElementById("cliente").value != 0 && document.getElementById("campo_fecha").value != "" && document.getElementById("n_expedicionOK").value == "OK")				
		{
		
			var opcion = confirm("El albarán esta vacío y será eliminado");
		
			if(opcion == true)
			{
				var exp = document.getElementById("expedicion").value;
			
				// Borra albarán
				borrarAlbaran(exp);
	
			}
			
		}else{		// Vuelve a la pagina principal
		
					window.location = "http://www.synapse.es/transporte/intranet/fcontenido.php?modulo=inventario";
				
				}
		
	}
	
}


// Función que borra si el albarán esta vacio
function borrarAlbaran(exp){

	expedicion = exp.toString();
	
	// Llama a la función "borrarAlbaranVacio" pasando el numero de expedición
	$.get("albaranEntrega/backend.php?action=borrarAlbaranVacio&numeroExpedicionAlbaran="+expedicion,$("#formularioEntrega").serialize(),function(data){
			
			switch(data){
				
				// Albarán ha sido borrado correctamente
				case 'BORRADO':
				
					setTimeout(function(){window.location = "http://www.synapse.es/transporte/intranet/fcontenido.php?modulo=inventario";},1000);
					
				break;
			
			}
			
	});

}


// Comprueba si los datos importantes del albaran están introducidos
function datosPrincipales(){
	
	// Activacion del botón lote y las lineas de producto
	if(document.getElementById("expedicion").value != 0 && document.getElementById("cliente").value != 0 && document.getElementById("campo_fecha").value != "" && document.getElementById("n_expedicionOK").value == "OK")
	{
		// Pone visible lineas y botón de lote
		document.getElementById("boton_lote").style.visibility = "visible";
		document.getElementById("cabeceras").style.visibility = "visible";
		document.getElementById("tabla_lineas_formulario").style.visibility = "visible";
		
		// Muestra la cabecera de las lineas y las lineas
		$("#cabeceras").show("slow");
		$("#tabla_lineas_formulario").show("slow");
		
		// Datos para la inserción 
		var numeroExpedicionAlbaran = document.getElementById("expedicion").value;
		var clienteAlbaran = document.getElementById("cliente").value;
		var fechaAlbaran = document.getElementById("campo_fecha").value;
		
		// Insertamos la cabecera del albaran
		$.get("albaranEntrega/backend.php?action=insertarCabecera&numeroExpedicionAlbaran="+numeroExpedicionAlbaran+"&clienteAlbaran="+clienteAlbaran+"&fechaAlbaran="+fechaAlbaran ,$("#formularioEntrega").serialize(),function(data){
				
				switch(data)
				{
					// Expedición en blanco
					case 'expedicion':
					
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Debe introducir un n&uacute;mero de expedici&oacute;n positivo y distinto de cero</b></font>";
						
					break;
					
					// Expedición usada
					case 'expedicion_usada':
					
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Este n&uacute;mero de expedici&oacute;n ya est&aacute; reservado, pruebe con otro n&uacute;mero</b></font>";
					
					break;
					
					// Distribuidor no seleccionado
					case 'distribuidor':
					
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Seleccione un distribuidor</b></font>";
					
					break;
					
					// Fecha no seleccionada
					case 'fecha':
					
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Seleccione una fecha</b></font>";
					
					break;
										
					// OK
					default:
					
						$("#id_expedicion").val(data);
						$("#campo_fecha").datepicker("disable");
						document.getElementById("expedicion").setAttribute("onkeyup","");
						document.getElementById("expedicion").readOnly = "readOnly";
						document.getElementById("cliente").disabled = "disabled";
						document.getElementById('contenedor').innerHTML = "";
						
					break;	
									
				}
				
		});
		
	}else{ 
			// Desactivar botón lote
			document.getElementById("boton_lote").style.visibility = "hidden";
			document.getElementById("cabeceras").style.visibility = "hidden";
			document.getElementById("tabla_lineas_formulario").style.visibility = "hidden";
		}
		
}


// Comprueba si el numero de expedición existe (ROJO) o no (VERDE)
function expedicionUsada(){

	// Número de expedición del albarán
	var numeroExpedicion = document.getElementById("expedicion").value;					
	
	// Llama a la función PHP consultaExpedicionUsada y le pasa el número de expedición
	$.post("albaranEntrega/backend.php?action=consultaExpedicionUsada&expUsada="+numeroExpedicion,$("#formularioEntrega").serialize(),function(data){
		
		switch(data) {
				
				// Mantiene color rojo si no es correcto
				case 'expedicion_usada':
						
						document.getElementById('expedicion').style.color = "black";
						document.getElementById('expedicion').style.backgroundColor = "#F5A9A9";
						document.getElementById('expedicion').style.borderColor = "red";
						document.getElementById('expedicion').style.borderWidth = "3px";
						document.getElementById('contenedor_expedicion').innerHTML ="<font color='red'><b>Expedici&oacute;n usada</b></font>";
						document.getElementById('n_expedicionOK').value = "NO";
						
				break;
				
				//Si es blanco quitar colores
				case 'blanco':
					
					if(document.getElementById('expedicion').value == "")
					{
						document.getElementById('expedicion').style.borderColor = "";
						document.getElementById('expedicion').style.borderWidth = "1px";
						document.getElementById('contenedor_expedicion').innerHTML = "";
						document.getElementById('expedicion').style.backgroundColor = "";
					}
					
				break;
				
				//Mantiene el color verde 3 segundos para indicar que es correcto
				case 'OK':
						document.getElementById('n_expedicionOK').value = "OK";
						document.getElementById('expedicion').style.color = "black";
						document.getElementById('expedicion').style.backgroundColor = "#A9F5A9";
						document.getElementById('expedicion').style.borderColor = "green";
						document.getElementById('expedicion').style.borderWidth = "3px";
						setTimeout(function(){document.getElementById('expedicion').style.borderColor = "";},3000);
						setTimeout(function(){document.getElementById('expedicion').style.backgroundColor = "";},3000);
						setTimeout(function(){document.getElementById('expedicion').style.borderWidth = "1px";},3000);
						document.getElementById('contenedor_expedicion').innerHTML = "";
					
				break;
				
			}
		
	});
	
}


// Funcion para insertar las observaciones del albarán
function insertarObservaciones(){
	
	// Contenido del campo observaciones
	var ob = $("#observaciones").val();
	
	// Llama a la función PHP "insertarObservaciones" pasando el contenido de las observaciones
	$.post("albaranEntrega/backend.php?action=insertarObservaciones&obvs="+ob,$("#formularioEntrega").serialize(),function(data){
				
	});

}


// Imprime en pdf el albarán 
function imprimirPDF(n_expedicion){

	document.location = "report/creacion.php?n_expedicion="+n_expedicion;
	
}


// Imprime en pdf el albarán con los EAN
function imprimireanPDF(n_expedicion){

	document.location = "report/creacionean.php?n_expedicion="+n_expedicion;
	
}


// Resta del contador de caracteres de las observaciones
function restarLimite(){
	
	var limite = 499;
	var n = document.getElementById("observaciones").value.length;
	document.getElementById("maxCaracteres").innerHTML = (limite +1) - n;
	
}


// Funcion que visualiza los datos del cliente seleccionado en el fieldset "fieldsetCliente"
function cargarCliente(){
	
	var x = document.getElementById("cliente").value;
	
	// Llama a la función "datosCliente" para obtener todos los datos del cliente seleccionado
	$.get("albaranEntrega/backend.php?action=datosCliente&idCliente="+x,$("#formularioEntrega").serialize(),function(data){
		
		document.getElementById("DatosCliente").innerHTML = data;
		document.getElementById("DatosCliente").style.visibility = "visible";
		document.getElementById("fieldsetCliente").style.visibility = "visible";
			
	});
	
}


/*#######################################################################################################################################################*/
/*################################################### FIN DE OPERACIONES DE ALBARÁN #####################################################################*/
/*#######################################################################################################################################################*/



/*#######################################################################################################################################################*/
/*################################################### OPERACIONES CON LOTES #############################################################################*/
/*#######################################################################################################################################################*/

// Llena el campo de EAN al seleccionar un producto en el formulario modal del selector de productos con lote
function llenarEANselectorLote(idProductoLote){
	
	// Llamada a la función de PHP "llenarEANlote" pasando el id del producto para obtener el EAN de dicho producto
	$.get("albaranEntrega/backend.php?action=llenarEANlote&EANproductoLote="+idProductoLote,$("#form_producto").serialize(),function(data){
		
		$("#eanProductoLote").val(data);
		
	});
	
}


// Comprueba cada vez que se introduce un numero en el campo EAN del "formulario de selección de productos con lote", si existe un producto con ese EAN, llama a la función "cargarProductoLote"
// para cargar los datos de dicho producto con ese EAN en el formulario
function comprobarEANlote() {
	
 	var numeroCaracteres = document.getElementById("eanProductoLote").value.length;
 	
 	// Numero de caracteres mínimo para ser EAN
	if(numeroCaracteres == 13)
	{
		cargarProductoLote();
	}else{
			document.getElementById("selectorProductoLote").value = "";
			document.getElementById("valorProducto").value = "";
		}
	
}


// Introduce datos del producto con ese EAN en el formulario 'seleccionadorProducto' (id_producto y nombre del producto)
function cargarProductoLote(){

	var eanLote = $("#eanProductoLote").val();
	
	$.get("albaranEntrega/backend.php?action=obtenerProductoLote&eanLote="+eanLote,$("#form_producto").serialize(),function(data){
	
		var elementos=Array();
		elementos=data.split("-");
		$("#valorProducto").val(elementos[0]);
		$("#selectorProductoLote").val(elementos[1]);
		
	});

}


// Modifica la cantidad de las unidades del lote tanto en inserción como en modificación
function modificarCantidadLote(indice){
	
	var newUnd = $("#unidadesLote_"+indice).val();	// Unidades introducidas en la posición del indice
	var expMod = $("#expedicion").val(); 			// Número de expedición
	
	// Llamamos a la función php "modificarCantidadLote" pasando la nueva cantidad introducida y el número de expedición del albarán en el que se encuentra
	$.get("albaranEntrega/backend.php?action=modificarCantidadLote&indiceCantidad="+indice+"&newUnd="+newUnd+"&expMod="+expMod,$("#formularioEntrega").serialize(),function(data){
	
		switch(data) {
				
				// Sobrepasa las unidades disponibles y muestra error
				case 'sacar':
				
					document.getElementById("mensajeLineasLote_"+indice).innerHTML ="<font color='red'><b>La cantidad especificada sobrepasa el l&iacute;mite de existencias</b></font>";
					setTimeout(function(){document.getElementById("mensajeLineasLote_"+indice).innerHTML = "";},5000);	
				
				break;
				
				// La modificación ha sido realizada correctamente
				case 'OK':
						
						document.getElementById("mensajeLineasLote_"+indice).innerHTML = "<font color='red'><b>La modificaci&oacute;n ha sido realizada correctamente</b></font>";
						setTimeout(function(){document.getElementById("mensajeLineasLote_"+indice).innerHTML = "";},5000);	
									
				break;
				
		}
		
	});
		
}


// Borra el lote con el índice especificado
function borrarLote(indice){
		
		var und = $("#unidadesLote_"+indice).val();   						// Unidades del producto del lote que se va a borrar
		$("#lineaLote_"+indice).hide("slow");								// Oculta el fieldset del lote
		setTimeout(function(){$("#lineaLote_"+indice).remove();},1500);		// Borra el fieldset oculto al segundo y medio
		var expBr = $("#expedicion").val();									// Número de expedición del albarán
		
		// Llama a la función PHP "borrarLote" pasando el indice del lote, las unidades y el número de expedición del albarán
		$.get("albaranEntrega/backend.php?action=borrarLote&indiceLote="+indice+"&und="+und+"&expBr="+expBr,$("#formularioEntrega").serialize(),function(data){
			
				// El borrado ha sido realizado correctamente
				if (data == "OK")
				{
						document.getElementById("contenedor").innerHTML = "<font color='red'><b>El borrado ha sido realizado correctamente</b></font>";
						setTimeout(function(){document.getElementById("contenedor").innerHTML = "";},5000);				
				}
				
		});

}


// Inserta los fieldsets con los datos del los lotes seleccionados
function insertarLoteFormulario(){

	var nLineas = document.getElementById("tabla_listado_lote").getElementsByTagName("tr").length;		// Numero de lotes mostrados en el formulario modal "form_lote"
		
	for (var i = 0; i < nLineas; i++)
	{
		
		if ($("#sacar_"+i).val().replace(",",".") > 0)
		{																								// Inserta los nuevos fieldset en el albaran con los datos de los lotes seleccionados
			document.getElementById("listadoLotesAlbaran").innerHTML = document.getElementById("listadoLotesAlbaran").innerHTML + '<tr id="lineaLote_'+$("#nLote_"+i).val()+'"><td><fieldset style="height:135px; width: 738px;" class="cabecera_agenda_finde"><legend>Datos Lote '+$("#lote_"+i).val()+'</legend><form><center><table style="width: 738px;"><tr><td><center><label>N&#176; Lote</label></center></td><td><center><label>Fecha Caducidad</label></center></td><td><center><label>Distribuidor</label></center></td></tr><tr><td><center><input readonly="readonly" type="text" class="autocompletar" value="'+$("#nLote_"+i).val()+'" id="input_n_lote_'+$("#nLote_"+i).val()+'" name="n_lote" maxlength="18" onkeypress="return comprobar_solonumeros(event);"></center></td><td><center><input disabled="true" value="'+$("#fechaCaducidad_"+i).val()+'" type="text" class="autocompletar" id="fechaLote" name="fechaLote"></center></td><td><center><input disabled="true" type="text" value="'+$("#idDistribuidor_"+i).val()+'" id="distribuidor_'+$("#nLote_"+i).val()+'" class="autocompletar"> </center></td></tr><tr></tr><tr class="titulo_inicio"><td colspan="3"><center><label style="margin-left: 150px;">Producto</label><label style="margin-left: 165px;">Cajas</label></center></td></tr><tr><td colspan="3"><center><input disabled="true" type="text"  value="'+$("#lote_"+i).val()+'" id="productoLote_'+$("#nLote_"+i).val()+'" name="productoLote" class="autocompletar" style="width:360px;">&nbsp;<input type="text" value="'+$("#sacar_"+i).val()+'" id="unidadesLote_'+$("#nLote_"+i).val()+'" name="unidadesLote" class="autocompletar" style="width:70px;" onchange="modificarCantidadLote('+$("#nLote_"+i).val()+');" onkeypress="return comprobar_solonumeros(event);"></center></td></tr><tr><td></td><td style="width: 405px;text-align:center;"><div id="mensajeLineasLote_'+$("#nLote_"+i).val()+'" name="mensajeLineasLote_'+$("#nLote_"+i).val()+'"></div></td><td style="text-align:right;"> <img id="deleteImg_'+$("#nLote_"+i).val()+'" name="deleteImg_0" src="./albaranEntrega/icon/icon-trash.png" style="width: 24px; height: 21px; border-top-width: 0px; margin-top: 0px;" onclick="borrarLote('+$("#nLote_"+i).val()+');"></td></tr></table></center></form></fieldset></td></tr>';	
		} // FIN DE CONDICION SE HAY SACAR
	} // FIN FOR DE I 

}


// Llama al formulario que muestra los los lotes del producto seleccionado
function listadoLotesDeProducto(){
	
	var idProducto = $("#valorProducto").val(); 				// Guardo el id del producto seleccionado
	
	if (idProducto == "")
	{
	
		document.getElementById('contenedor_lote_selector').innerHTML ="<font color='red'><b>Seleccione un producto</b></font>";
		
	}else{
	
			volver(); 											// Cierro el formulario anterior

			$.get("albaranEntrega/backend.php?action=form_lote&vProd="+idProducto, $("#form_datos").serialize(), function(data){
			
				//crear_modal(697,418,data);
				crear_modal_redimensionable(697,650,data);		// Creo un formulario modal auto-redimensionable dependiendo del contenido con los datos del formulario "form_lote"
			});
			
		}

}


// Función de insertar lotes
function InsertarLotes() {
	
	var nLineas = document.getElementById("tabla_listado_lote").getElementsByTagName("tr").length;	// Número de lotes mostrados en el formulario modal "form_lote"
	var exp = $("#expedicion").val();																// Número de expedición del albarán
	
	// Llama a la función PHP "InsertarLotes" pasando el numero de lineas del formulario "form_lote" y el número de expedición del albarán
 	$.post("albaranEntrega/backend.php?action=InsertarLotes&nLineas="+nLineas+"&expAl="+exp, $("#form_datos").serialize(), function(data){
				
			switch(data) {
				
				// El lote ya esta insertado en el albarán
				case 'enAlbaran' :
				
					document.getElementById('contenedor_lote').innerHTML ="<font color='red'><b>Ya existe un lote con este numero de lote en albaran</b></font>";
					
				break;
				
				// Sobrepasa las unidades disponibles y muestra error
				case 'sacar':
				
					document.getElementById('contenedor_lote').innerHTML ="<font color='red'><b>La cantidad especificada sobrepasa el l&iacute;mite de existencias</b></font>";
			
				break;
				
				// La inserción ha sido realizada correctamente
				case 'OK':

					insertarLoteFormulario();
					volver();

				break;
							
			}
				
	});
	
}


// Suma visual del numero de cajas seleccionadas del listado de lotes
function sumarTotal(){

	var nLineas = document.getElementById("tabla_listado_lote").getElementsByTagName("tr").length;		// Número de lotes mostrados en el formulario modal "form_lote"
	var total = 0;
	
	for (var i = 0; i < nLineas; i++)
	{
		total = total + parseFloat($("#sacar_"+i).val().replace(",","."));
	}
	
	$("#total").val(total);

}


// Llama al formulario en el que seleccionamos el producto del cual queremos que se nos muestren los lotes
function llamarFormularioLote(){	
	
	// Llama a la función PHP "seleccionadorProducto"
	$.get("albaranEntrega/backend.php?action=seleccionadorProducto", $("#form_producto").serialize(), function(data){
		
			crear_modal(605,140,data);				// Formulario modal "seleccionadorProducto"
	});
	
	return false;
	
}


// Pone a "0" en los campos sacar del formulario que muestra los lotes del producto seleccionado en caso de quedar alguno en blanco (VISUAL)
function comprobarBlancos()
{
	var nLineas = document.getElementById("tabla_listado_lote").getElementsByTagName("tr").length;		// Número de lotes mostrados en el formulario modal "form_lote"
	
	for (var i = 0; i < nLineas; i++)
	{
		
		if($("#sacar_"+i).val() == "") 
		{
			$("#sacar_"+i).val(0);
		}
	}
	
}


/*#######################################################################################################################################################*/
/*################################################### FIN DE OPERACIONES CON LOTES ######################################################################*/
/*#######################################################################################################################################################*/



/*#######################################################################################################################################################*/
/*################################################### OPERACIONES CON LINEAS DE ALBARÁN #################################################################*/
/*#######################################################################################################################################################*/


// Inserta linea en el formulario
function guardarConIndice(action,indice){
	
	// Id del albarán
	var idex = $("#id_expedicion").val();
	
	// Llama a la función que se le pase en la variable "action"
	$.get("albaranEntrega/backend.php?action="+action+"&indice="+indice+"&idex="+idex,$("#formularioEntrega").serialize(), function(data){

				switch(data){
					
					// Expedición en blanco
					case 'expedicion':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Debe introducir un n&uacute;mero de expedici&oacute;n positivo y distinto de cero</b></font>";
					break;
					
					// Expedición usada
					case 'expedicion_usada':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Este n&uacute;mero de expedici&oacute;n ya est&aacute; reservado, pruebe con otro n&uacute;mero</b></font>";
					break;
					
					// Fecha no introducida
					case 'fecha':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca una fecha v&aacute;lida</b></font>";
					break;
					
					// Cliente no seleccionado
					case 'cliente':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Seleccione un cliente</b></font>";
					break;
					
					// Producto
					case 'producto':
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Introduzca un producto v&aacute;lido</b></font>";
					break;
					
					// Unidades 
					case 'unidades':											
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>Un producto no tiene especificado un n&uacute;mero positivo de unidades</b></font>";					
					break;
					
					// Producto agotado
					case 'agotado':											
						document.getElementById('contenedor').innerHTML ="<font color='red'><b>La cantidad especificada sobrepasa el l&iacute;mite de existencias</b></font>";		
						setTimeout(function(){document.getElementById('contenedor').innerHTML =""},5000);						
					break;
					
					// OK
					case 'OK':	
						document.getElementById('contenedor').innerHTML = "";
					break;
																	
				}	
	});
	
}

// Obtiene el número de lineas de producto en el albarán
function numeroLineasInsercion(){

	var tabla=document.getElementById("tabla_lineas_formulario");
	var lineas=tabla.getElementsByTagName("tr");
	return lineas.length;
	
}


// Inserta otra fila de producto
function addField(){
	
	// Variables
	var antiguoID=0;
	var id;
	
	// Recorre las lineas para obtener el "antiguoID"
	for(var i=0;i<numeroLineasInsercion();i++){
		id=parseInt(document.getElementById("tabla_lineas_formulario").getElementsByTagName("tr").item(i).getAttribute("id").replace("linea_insercion_",""));
		if(id>antiguoID){
			antiguoID=id;
		}
	}
	
	var newID=antiguoID+1;
	var newClone = $('#linea_insercion_'+antiguoID).clone(true,true);
	
	// Clon de la linea anterior
	newClone.attr("id",'linea_insercion_'+newID);
	newClone.insertAfter($('#linea_insercion_'+antiguoID));
	
	// Inserta otra linea de producto con los id cambiados 
	document.getElementById("linea_insercion_"+newID).innerHTML='<tr id="linea_insercion_'+newID+'" name="linea_insercion_'+newID+'"> <input type="hidden" id="idProducto_'+newID+'" name="idProducto_'+newID+'"> <td style="width: 108px;"> <input maxlength="13" type="text" id="ean_'+newID+'" name="ean_'+newID+'" class="autocompletar" onKeyPress="return comprobar_solonumeros(event);" style="width: 105px; height: 22px; padding-top: 0px; padding-bottom: 0px; border-bottom-width: 1px; border-top-width: 1px; margin-top: 0px; padding-left: 0px;" onchange="obtenerProducto('+newID+');"> </td> <td width="755" class="autocompletar" style="width: 315px;"> <input style="width: 365px; height: 22px; padding-left: 0px; padding-top: 0px; padding-bottom: 0px; margin-bottom:0px;" type="text" id="producto_'+newID+'" name="producto_'+newID+'" class="autocompletar" > </td> <td style="width: 65px;" align="center" class="autocompletar"><input type="text" class="autocompletar" disabled="true" style="text-align:center; height: 22px; padding-left: 0px; width:62px; padding-top: 0px; padding-bottom: 0px;" id="undxcaja_'+newID+'" title="Unidades x Caja" /> </td> <td style="width: 65px;" align="center" class="autocompletar"><input type="text" class="autocompletar" disabled="true" style="text-align:center; padding-top: 0px; padding-bottom: 0px; height: 22px; padding-left: 0px; width:66px;" id="stock_'+newID+'" title="Stock" /> </td> <td style="width: 75px;"> <input style="text-align:center; padding-left: 0px; padding-top: 0px; padding-bottom: 0px; height: 22px;" name="unidades_'+newID+'" type="text" class="autocompletar" id="unidades_'+newID+'" size="8" maxlength="5" title="Unidades" onChange="actualizarLinea('+newID+');" onKeyPress="return comprobar_solonumeros_2(event);" onChange="actualizarLinea('+newID+');"/> <td width="60" class="autocompletar" align="center"><input type="text" class="autocompletar" disabled="true" style="text-align:center; height: 22px; padding-left: 0px; width:66px; padding-top: 0px; padding-bottom: 0px;" id="palet_'+newID+'" title="Palets"/> </td> <td> <img id="deleteImg_'+newID+'" name="deleteImg_'+newID+'" src="./albaranEntrega/icon/icon-trash.png" style="width: 24px; height: 21px; border-top-width: 0px; margin-top: 0px;" onclick="delRow('+newID+');"> <input type="hidden" id="idproducto_'+newID+'"> </td> </tr>';
		
	// Bloquea las los inputs de stock, unidades x caja y palet
	document.getElementById("linea_insercion_"+antiguoID).getElementsByTagName("input").item(1).disabled=true;
	document.getElementById("linea_insercion_"+antiguoID).getElementsByTagName("input").item(2).disabled=true;
	document.getElementById("linea_insercion_"+antiguoID).getElementsByTagName("input").item(5).disabled=true;
	
	$.get("albaranEntrega/backend.php?action=reAutocompletar&prd="+newID,$("#formularioEntrega").serialize(),function(data){
			$("#scriptAutocomplete").html(data);
	});
	
}


// Obtiene todos los datos del producto con el EAN introducido
function obtenerProducto(indice){
	
	// EAN
	var ean = $("#ean_"+indice).val();
	
	// Llama a la función "obtenerProducto" para obtener todos los datos del producto
	$.get("albaranEntrega/backend.php?action=obtenerProducto&indice="+indice+"&ean="+ean,$("#formularioEntrega").serialize(),function(data){
		
		// Introduce los datos obtenidos en su sitio
		var elementos=Array();
		elementos=data.split("-");
		pasarID(indice,elementos[0]);
		$("#id_producto").val(elementos[0]);
		$("#idProducto_"+indice).val(elementos[0]);
		$("#producto_"+indice).val(elementos[1]);
		$("#stock_"+indice).val(elementos[2]);	
		$("#undxcaja_"+indice).val(elementos[3]);
		
		if(document.getElementById("unidades_"+indice).value!="" && document.getElementById("producto_"+indice).value!=""){
			addField();
		}
		
	});
	
}


// Visualiza el el stock en la linea indicada
function pasarID(indice,id){
	
	// Llama a la función "recogerStock"
	$.get("albaranEntrega/backend.php?action=recogerStock&idStock="+id,$("#formularioEntrega").serialize(),function(data){
		$("#stock_"+indice).val(data);
	});
			 
}


// Introduce todos los datos en la linea del producto seleccionado
function actualizarLinea(indice){

	if (document.getElementById("producto_"+indice).value != "" && document.getElementById("unidades_"+indice).value != "")
	{	
		var id = document.getElementById("id_producto").value;		
		guardarConIndice("insertarLinea",indice);		
		pasarID(indice, id);		
		addField();		
		llenarPalets(indice, id);
	}
	
}


// Borra la linea indicada
function delRow(indice) {

	// Funcion que destruye el elemento actual una vez echo el click
	var mayor=0;
	var recorre=0;
	
	for(var i=0;i<numeroLineasInsercion();i++){
		recorre=parseInt(document.getElementById("tabla_lineas_formulario").getElementsByTagName("tr").item(i).getAttribute("id").replace("linea_insercion_",""));
		if(recorre>mayor){
			mayor=recorre;
		}
	}

	/*Sólo permitiremos borrar líneas mientras quede más de una y mientras no sea la última línea de inserción*/
	if(numeroLineasInsercion()>1 && ((parseInt(indice))!=mayor)){		
		$.get("albaranEntrega/backend.php?action=borrarLinea&indice="+indice,$("#formularioEntrega").serialize(),function(data){
		});
		$("#linea_insercion_"+indice).remove();
	}
}


// Llena el campo EAN del producto indicado
function llenarEAN(indice,id){
	$.get("albaranEntrega/backend.php?action=ean&idEan="+id,$("#formularioEntrega").serialize(),function(data){
		$("#ean_"+indice).val(data);
	});
}


// Llena el campo de las unidades "Unidades x Palet"
function llenarUndxPalet(indice,id){
	$.get("albaranEntrega/backend.php?action=undxpalet&iduxp="+id,$("#formularioEntrega").serialize(),function(data){
		$("#undxcaja_"+indice).val(parseFloat(data));
	});
}


// Funcion que calcula el numero de palet según las unidades demandadas
function llenarPalets(indice,id)
{
	$.get("albaranEntrega/backend.php?action=palet&idPalet="+id,$("#formularioEntrega").serialize(),function(data){
				
		if (document.getElementById("unidades_"+indice).value != "")
		{
			var und = document.getElementById("unidades_"+indice).value;
			document.getElementById("palet_"+indice).value = Math.round((und/data)*100)/100;
		}
				 
	});
}


/*#######################################################################################################################################################*/
/*################################################### FIN DE OPERACIONES CON LINEAS DE ALBARÁN ##########################################################*/
/*#######################################################################################################################################################*/


// Vuelve al formulario anterior
function volver_atras()
{
	$('#jqgrid_list').css('display','');
	$('#formulario').html('');
	$('#formulario').css('display','none');
}


// Comprueba solo la introducción de números
function comprobar_solonumeros(evt){

	//asignamos el valor de la tecla a keynum
	if(window.event){// IE
		keynum = evt.keyCode;
	}
	else{
		keynum = evt.which;
	}
	//comprobamos si se encuentra en el rango
	if((keynum>47 && keynum<58) || keynum==8 ){

		return true;
	}
	else{
		return false;
	}
}


// Comprueba solo la introducción de números, punto, flechas de dirección, retroceso y suprimir
function comprobar_solonumeros_con_punto(evt){

	//asignamos el valor de la tecla a keynum
	if(window.event){// IE
		keynum = evt.keyCode;
	}
	else{
		keynum = evt.which;
	}
	
	//comprobamos si se encuentra en el rango
	if((keynum>47 && keynum<58) || keynum==8 || (keynum==0) || (keynum==13)|| keynum==44){

		return true;
	}
	else{
		return false;
	}
	
}


// Comprueba solo la introducción de números, punto, flechas de dirección, retroceso y suprimir
function comprobar_solonumeros_2(evt){

	//asignamos el valor de la tecla a keynum
	if(window.event){// IE
		keynum = evt.keyCode;
	}
	else{
		keynum = evt.which;
	}
	//comprobamos si se encuentra en el rango
	if((keynum>47 && keynum<58) || keynum==8 || keynum==46){
		return true;
	}
	else{
		return false;
	}
	
}

